給定一個整數數組 nums,判斷其中是否存在重複元素。
如果任意數字在數組中出現至少兩次,返回 true;如果所有元素互不相同,則返回 false。
使用Hash Table的方法
class Solution:
    def containsDuplicate(self, nums):
        hash_table = {}  # 建立一個空字典
        for num in nums:
            if num in hash_table:  # 如果元素已經存在於 hash_table 中
                return True        # 表示有重複,返回 True
            hash_table[num] = 1    # 否則將元素加入 hash_table,值設為 1
        return False               # 若無重複元素,返回 False
使用Set的方法
class Solution:
    def containsDuplicate(nums):
        # 建立一個空的 Set
        seen = set()
        # 遍歷每個元素
        for num in nums:
            # 如果該元素已經在 Set 中,表示有重複元素
            if num in seen:
                return true
            # 否則將元素加入 Set 中
            seen.add(num)
        # 沒有重複元素,返回 false
        return False
給定兩個整數陣列 nums1 和 nums2,返回兩個陣列的交集,輸出結果中的每個元素必須是唯一的(即不重複),並且可以按照任意順序進行返回。
使用Hash Table的方法
class Solution:
    def intersection(self, nums1, nums2):
        # 使用 Hash Table 來儲存 nums1 的所有元素
        hash_table = set(nums1)
        # 檢查 nums2 中的元素是否存在於 Hash Table 中
        result = set()
        for num in nums2:
            if num in hash_table:
                result.add(num)
        # 返回結果轉為列表
        return list(result)
使用Set的方法
class Solution:
    def intersection(self, nums1, nums2):
        # 將兩個數組轉換為集合,去除重複元素
        set1 = set(nums1)
        set2 = set(nums2)
        # 使用集合的交集方法
        result = set1.intersection(set2)
        # 返回結果轉為列表
        return list(result)